package com.example.demo.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 答辩记录表
 * </p>
 *
 * @author liwei
 * @since 2024-11-15
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("defense_group_record")
@Schema(name ="DefenseGroupRecord对象", description="答辩记录表")
public class DefenseGroupRecord implements Serializable {

    private static final long serialVersionUID = 1L;

     @Schema(description = "答辩记录表")
    @TableId(value = "defense_group_record_id", type = IdType.AUTO)
    private Long defenseGroupRecordId;

     @Schema(description = "最初的主键;初次新增--最初的主键等于主键；每次提交一次，增加一条记录--最初的主键等于初次新增的主键。")
    private Long originalDefenseGroupRecordId;

    private Long defenseGroupId;

     @Schema(description = "数据类型。0：正式数据；1：历史数据；2：草稿数据。答辩录入员和学生都有可能录入答辩记录，都可以保存草稿。草稿自己只能看见自己的。有人提交正式数据，则草稿删除，新增正式数据；存在正式数据，再提交正式数据，原先的正式数据改为历史记录，新增正式数据。")
    private Integer dataType;

     @Schema(description = "答辩组学生信息id defense_group_student.defense_group_student_id")
    private Long defenseGroupStudentId;

     @Schema(description = "计划编号")
    private Long academicYearId;

     @Schema(description = "答辩记录自定义表id")
    private Long designTableId;

     @Schema(description = "创建人角色:提交答辩记录时登陆人角色编号;7--答辩录入员；2--学生")
    private Integer createRoletype;

     @Schema(description = "答辩录入员角色。学生：2；教师：3。当create_rpletype=7时，create_clerk_roletype区分答辩录入员是教师还是学生。当create_roletype=2是，create_clerk_roletype默认为学生")
    private Integer createClerkRoletype;

     @Schema(description = "创建人")
    private Long createBy;

     @Schema(description = "最后修改人")
    private Long modifyBy;

     @Schema(description = "创建时间")
    private LocalDateTime createTime;

     @Schema(description = "最后修改时间")
    private LocalDateTime modifyTime;

     @Schema(description = "是否删除。是：1；否：0")
    private Integer isDelete;


}
